package cn.huiyunche.base.service.mappers.ext;

import cn.huiyunche.base.service.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface DWaybillViewMapper {
    /**
     * 根据用户ID，运单状态查询运单信息
     *
     * @param userId
     * @param waybillStatus
     * @return
     */
    ShowOrderVo selectOrderInfo(@Param("userId") Long userId, @Param("waybillStatus") List<Integer> waybillStatus);

    int countByCondations(Map<String, Object> paramsMap);

    List<ShowOrderVo> getListByCondations(Map<String, Object> paramsMap);

    DWaybillDetailVo getDetailsById(@Param(value = "id") long id);

    List<DWaybillDoneVo> getDoneList(Map<String, Object> paramsMap);

    int countDoneList(Map<String, Object> paramsMap);

    int countByCondationsForSupplier(Map<String, Object> paramsMap);

    List<SupplierCWListVo> getListByCondationsForSupplier(Map<String, Object> paramsMap);

    DWaybillPriceVo getPriceById(@Param(value = "waybillId") Long waybillId);

    List<DWaybillDetailVo> getDWaybillListByCondition(Map<String, Object> paramsMap);

    int countByWayStatus(Map<String, Object> paramsMap);

    List<DWaybillVo> getDWaybillListByOrderCodeAndPhone(Map<String, Object> paramsMap);

    int countDWaybillListByOrderCodeAndPhone(Map<String, Object> paramsMap);

    int countByWayStatus4Lock(Map<String, Object> paramsMap);

    List<DWaybillDetailVo> getDWaybillListByCondition4Lock(Map<String, Object> paramsMap);

    List<DWaybillOringinalVo> getQuickDispatchList(Map<String, Object> paramsMap);

    int countByQuickDispatchList(Map<String, Object> paramsMap);
    
    void markQuickDispatch(Map<String, Object> paramsMap);
}
